把昨天沒講完的 MySQL 操作補充一下
實作的時候記得打開 XAMPP。
更動資料"表"(新增或修改欄位,甚至移除)
步驟 : 點選你要的資料"庫">>點選你要的資料"表",到以下畫面
1.資料表的刪除、更動資料(不影響欄位的結構)
若要刪除指定資料表,可點選圖片中紅圈的 【刪除】。
【刪除】左邊的【清空】則是可以"清除"所有欄位的"值",原本欄位設定都會保留。
【清空】左邊的【新增】則是可以"新增"一筆欄位的"值",並不影響原本的欄位結構。
2.資料表結構的改動(可更改資料表的欄位)
如圖,點選結構,然後進到以下畫面
然後就可以點選修改,更改欄位的名稱、其屬性等(如 INT VARCHAR...)
刪除的話,那個欄位就會消失。
3.新增 外部鍵Foreign Key , 外部鍵的新增,目前我只知道只能用指令,
以及只有被設為 主鍵PRIMARY 的欄位才可以設定成外部鍵
步驟1:額外新增一個資料表(我取名 add_role ,來當作每個會員的等級,
跟staff表中的staff_role 做呼應)如下圖。
表 add_role 我只有給一個欄位 STAFF_ROLE ,
並且想拿此欄位做 staff 中的 staff_role 外部鍵。
步驟2:指令新增外部鍵(以我的範例,改動 表staff 中的 staff_role欄位(新增外部鍵)
外部鍵從哪來?? 從>>> 表add_role 中的 STAFF_ROLE)
ALTER TABLE staff
ADD FOREIGN KEY (staff_role) REFERENCES add_role(STAFF_ROLE);
(注意!! 新增此外部鍵時,我的 表staff 必須是空的,否則指令會出錯!!)
然後們來新增 表staff 的內容,如下圖 staff_role 的值
只能選則用 add_role 中的 STAFF_ROLE的值
建完表後的樣子(staff_role 的欄位值 變藍色的)
那外部鍵有甚麼用呢?
1.對我來說他可以"統一"一些格式(如:會員等級,不能像姓名一樣千百種)
2.類似防呆的作用,有被用到的外部鍵,會無法刪除。
(只要普通、白銀、黃金會員的資料有存在,無法隨意刪除 add_role 的資料
,除非 如:把所有白銀會員的資料都刪掉,這樣就可以刪掉 add_role >> STAFF_ROLE 中的白銀會員)
今天就先這樣,下次見。